package Colletion_Study.List_01;

import java.util.ArrayList;
import java.util.List;

public class ListDemo1 {
    /*
        List(接口) 系列集合独有的方法：
            void add(int index, E element)      在此集合中的指定位置插入指定元素
            E remove(int index)                 删除指定索引处的元素，返回被修改的元素
            E set(int index, E element)         修改指定索引处的元素，返回被修改的元素
            E get(int index)                    返回指定索引处的元素

     */
    public static void main(String[] args) {
        //1.创建一个集合
        List<String> list = new ArrayList<>();

        //2.添加元素
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");

        //void add(int index, E element)      在此集合中的指定位置插入指定元素
        //细节：原来索引上的元素会依次往后移
        list.add(1,"qqq");

        //E remove(int index)                 删除指定索引处的元素，返回被修改的元素
        //细节：如果要删除的元素和索引的元素的数据类型一致
        //     则优先调用实参和形参一致的方法，如果仍需要删除元素，则需要将其转成对应的封装类型（手动装箱）
        //     remove方法不会自动装箱
        String remove = list.remove(0);
        System.out.println(remove);

        //E set(int index, E element)         修改指定索引处的元素，返回被修改的元素
        String result = list.set(0,"DDD");
        System.out.println(result); // 返回修改的元素

        //E get(int index)                    返回指定索引处的元素
        System.out.println(list.get(1));


    }
}
